PyonR: A Python Implementation for Racket
نویسندگان
چکیده
The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers, due to its readable syntax and extensive libraries. On the other hand, the Racket language and its DrRacket IDE have a tradition for being used to introduce Computer Science concepts to students. Besides, the Racket platform can be extended to support other programming languages. Both communities would benefit from an implementation of Python for Racket, since Racket programmers would be able to use libraries produced by the huge Python community and Python programmers would be able to access Racket’s libraries and pedagogical tools, such as DrRacket. This thesis proposes PyonR, an implementation of the Python language for the Racket platform. PyonR consists of a sourceto-source compiler from Python to Racket and a runtime environment developed in Racket, which implements Python’s language constructs and built-in functionality and enforces interoperability with Racket’s data-types. With this approach, we were able to implement Python’s semantics with a very reasonable performance (on the same order of magnitude as other state-of-the-art implementations), full access to Python’s libraries, a native interoperability between Racket and Python, and a good integration with DrRacket’s features for Python development.
منابع مشابه
An Implementation of Python for Racket
Racket is a descendent of Scheme that is widely used as a first language for teaching computer science. To this end, Racket provides DrRacket, a simple but pedagogic IDE. On the other hand, Python is becoming increasingly popular in a variety of areas, most notably among novice programmers. This paper presents an implementation of Python for Racket which allows programmers to use DrRacket with ...
متن کاملImplementing Python for DrRacket
The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers. On the other hand, Racket and other Scheme dialects are considered excellent vehicles for introducing Computer Science concepts. This paper presents an implementation of Python for Racket and the DrRacket IDE. This allows Python programmers to use Racket libraries and v...
متن کاملAn Implementation of Python for DrRacket
The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers. This paper presents an implementation of Python for DrRacket which allows Python programmers to use DrRacket’s features with Python code, as well as adding Python support for DrRacket based tools, such as Rosetta. The suggested approach involves compiling Python code in...
متن کاملP2R: Implementation of Processing in Racket
Processing is a programming language and development environment created to teach programming in a visual context. In spite of its enormous success, Processing remains a niche language with limited applicability outside the visual realm. Moreover, architects that have learnt Processing are unable to use the language with traditional Computer-Aided Design (CAD) and Building Information Modelling...
متن کاملMeta-tracing makes a fast Racket
Tracing just-in-time (JIT) compilers record and optimize the instruction sequences they observe at runtime. With some modifications, a tracing JIT can perform well even when the executed program is itself an interpreter, an approach called meta-tracing. The advantage of meta-tracing is that it separates the concern of JIT compilation from language implementation, enabling the same JIT compiler ...
متن کامل